﻿FolderMP3 1.2 - ADS Edition
==============================

Portable MP3-Player für Windows 10/11 x64
Entwickelt in Flat Assembler (FASM 1)


1. Was ist FolderMP3?
---------------------

FolderMP3 ist ein kleiner nativer Windows-MP3-Player.

Das Grundprinzip lautet:

    Der aktuelle Ordner ist die "CD".

Es gibt bewusst keine Medienbibliothek, keine Datenbank und keinen
"Dateien hinzufügen"-Dialog. FolderMP3 arbeitet direkt mit MP3-Dateien
und Ordnern.

Version 1.2 erweitert dieses Prinzip zusätzlich um eine optionale
ADS-Startquelle: MP3-Dateien können als NTFS Alternate Data Streams
direkt an der FolderMP3-EXE gespeichert sein.


2. Unterstütztes Audioformat
----------------------------

FolderMP3 spielt bewusst ausschließlich MP3.

Die Wiedergabe erfolgt über den integrierten nocash-MP3-Decoder und
Windows waveOut.

Unterstützt werden unter anderem:

    - normale CBR-MP3-Dateien
    - LAME/VBR-MP3-Dateien
    - Xing/LAME-VBR-Informationen für Seek
    - Unicode-Dateinamen

Andere Audioformate wie WAV, FLAC, AAC, M4A oder OGG werden nicht
unterstützt.


3. Bedienung
------------

Die wichtigsten Bedienelemente sind:

    Zurück
    Play
    Pause
    Stop
    Weiter

Zusätzlich gibt es:

    - Positionsregler zum Spulen
    - Lautstärkeregler
    - Playlist
    - einklappbaren Ordnerbrowser
    - Laufwerksauswahl
    - About
    - Albumcover-Anzeige

Die Lautstärke startet bei 30 Prozent.


4. Ordner als Album / "CD"
--------------------------

Ohne ADS-Musik startet FolderMP3 mit den *.mp3-Dateien aus dem Ordner,
in dem sich die EXE befindet.

Über "Ordner" kann der eingebaute Browser geöffnet werden.

Ein Ordner mit MP3-Dateien wird zur neuen aktiven "CD".

Das reine Markieren eines Ordners oder die Navigation mit den Pfeiltasten
ändert die laufende Musik nicht. Erst ein Doppelklick auf einen geeigneten
Ordner übernimmt ihn als neue Musikquelle.


5. ADS Edition
--------------

FolderMP3 1.2 kann MP3-Dateien als NTFS Alternate Data Streams direkt an
der eigenen EXE finden und abspielen.

Beispielprinzip:

    FolderMP3.exe:intro.mp3
    FolderMP3.exe:track02.mp3
    FolderMP3.exe:bonus.mp3

Akzeptiert werden benannte Streams im Format:

    :name.mp3:$DATA

Andere Streams werden ignoriert.

Wenn beim Start MP3-ADS an der eigenen EXE vorhanden sind, werden diese
zuerst als Playlist benutzt.

Sind keine MP3-ADS vorhanden, startet FolderMP3 wie bisher mit den
MP3-Dateien aus dem EXE-Ordner.

Es gibt kein automatisches Autoplay. Der erste Eintrag wird nur ausgewählt;
die Wiedergabe beginnt mit Play oder Doppelklick.


6. ADS werden direkt abgespielt
-------------------------------

Die MP3-Dateien werden nicht zuerst aus dem ADS exportiert.

Der Decoder erhält direkt einen Windows-Pfad wie:

    C:\Player\FolderMP3.exe:track.mp3

Dadurch sind keine temporären MP3-Dateien nötig.

Next, Previous und Auto-Next funktionieren im ADS-Modus mit derselben
Playlistlogik wie im normalen Ordner-Modus.


7. Vom ADS-Modus zum normalen Ordner-Modus
------------------------------------------

Wenn FolderMP3 mit einer ADS-Playlist gestartet ist, schaltet der erste
Klick auf "Ordner" kontrolliert in den normalen Ordner-Modus.

Ein eventuell laufender ADS-Titel wird sauber beendet und anschließend
wird die normale Playlist des aktuellen Ordners geladen.

Für die laufende Programmsitzung bleibt danach der Ordner-Modus aktiv.

Nach einem Neustart prüft FolderMP3 erneut, ob MP3-ADS an der EXE vorhanden
sind.


8. Albumcover
-------------

FolderMP3 kann eingebettete Albumcover aus ID3v2 lesen.

Unterstützt werden:

    ID3v2.2 PIC
    ID3v2.3 APIC
    ID3v2.4 APIC

JPEG- und PNG-Bilder werden über Windows GDI+ dekodiert.

Das Cover erscheint klein rechts oben im Player.

Wenn der Mauszeiger über dem kleinen Cover steht, erscheint sofort ein
rahmenloses 400x400-Cover.

Es gibt:

    - keine Animation
    - keine Verzögerung
    - keine zusätzlichen Schaltflächen

Das bereits geladene Bild wird für das große Cover wiederverwendet.

Albumcover funktionieren auch bei MP3-Dateien, die direkt aus einem
NTFS-ADS abgespielt werden.


9. Seek
-------

Der Positionsregler arbeitet intern mit 0 bis 1000 Schritten.

Bei CBR-Dateien wird die Zielposition aus der Audiodatenposition geschätzt.

Bei Xing/LAME-VBR-Dateien verwendet FolderMP3 die VBR-TOC und interpoliert
zwischen den Einträgen.

Da MP3 Layer III ein Bit Reservoir und fortlaufenden Synthesezustand benutzt,
beginnt der Decoder vor dem eigentlichen Zielpunkt mit einem Pre-Roll und
dekodiert vorbereitende Frames, deren PCM zunächst verworfen wird.

Dadurch ist ein Seek deutlich robuster als ein einfacher Sprung auf ein
beliebiges Dateibyte.

Während der Schieber gezogen wird, wird nur die Zeitvorschau aktualisiert.
Der eigentliche Seek erfolgt beim Loslassen.


10. Lange Titel
---------------

Die Zeitanzeige ist nicht auf 99 Minuten begrenzt.

Beispiele:

    04:23
    99:59
    115:37

Damit werden auch längere MP3-Dateien sinnvoll dargestellt.


11. Always on Top
-----------------

FolderMP3 besitzt einen zusätzlichen Eintrag im normalen Windows-Systemmenü:

    Always on Top

Das Systemmenü kann wie üblich geöffnet werden, zum Beispiel über:

    - Rechtsklick auf die Titelleiste
    - Alt + Leertaste
    - Klick auf das Fenstersymbol

Der Eintrag steht nach einem Separator ganz unten.

Ein Klick aktiviert "Always on Top", ein weiterer Klick deaktiviert es
wieder.

Es gibt bewusst kein zusätzliches Pin-Symbol, kein Häkchen und keine
eigene Titelleisten-Grafik. Das Hauptfenster bleibt ein normales natives
Windows-Fenster.


12. About
---------

Der About-Button öffnet keinen selbst programmierten Dialog.

Der komplette About-Dialog ist eine normale Windows-MessageBox.

Dort befinden sich auch die Credits, damit die eigentliche Titelleiste
übersichtlich bleibt.


13. Portable Einzel-EXE
-----------------------

FolderMP3 benötigt keine Installation.

Die Oberfläche verwendet normale Win32-Controls und GDI.

Es gibt keine externen Button-Bitmaps oder Skin-Dateien.

Für die Wiedergabe und Coveranzeige werden ausschließlich Windows-
Systembibliotheken und der im Programm enthaltene MP3-Decoder verwendet.


14. Windows-Komponenten
-----------------------

FolderMP3 verwendet unter anderem:

    KERNEL32.DLL
    USER32.DLL
    GDI32.DLL
    WINMM.DLL
    GDIPLUS.DLL
    SHLWAPI.DLL

Für den normalen Betrieb müssen keine zusätzlichen Laufzeitbibliotheken
mitgeliefert werden.


15. Bewusste Einschränkungen
----------------------------

FolderMP3 enthält absichtlich keine:

    - Medienbibliothek
    - Datenbank
    - Equalizer
    - Visualisierung
    - Skins
    - WAV-/FLAC-/AAC-/OGG-Wiedergabe
    - "Add Files"-Funktion
    - rekursive Komplettsuche über ganze Laufwerke

Das Programm soll ein kleiner direkter MP3-Player bleiben.


16. Credits
-----------

FolderMP3 1.2

Developed by
NotCompatible (Basti) + GPT-5.6 Sol

MP3 Decoder
Original MP3 decoder/player by Martin Korth (nocash)

FASM reconstruction and Windows adaptation by Erdogan Tan
based on nocash MP3PLAY.EXE v1.4 / TASM source

Win64 port and FolderMP3 integration
NotCompatible (Basti) + GPT-5.6 Sol

Built with FASM


17. Kurzbeschreibung
--------------------

FolderMP3 spielt Ordner wie Alben ab.

Version 1.2 kann zusätzlich die eigene EXE als erste Musikquelle verwenden,
wenn daran MP3-Dateien als NTFS Alternate Data Streams gespeichert sind.

Klein, portabel, MP3-only und vollständig als native Win64-Anwendung
umgesetzt.
